home *** CD-ROM | disk | FTP | other *** search
/ Animation How-To / Animation How-to CD.iso / PLY / CHAPTER2 / ROCKET / ROCKET1.BAS < prev    next >
BASIC Source File  |  1994-01-01  |  2KB  |  63 lines

  1. ' ROCKET1.BAS
  2.  
  3. ' Polyray Rocket Launch Animation Simulation
  4.  
  5. SCREEN 12
  6. WINDOW (-32, -24)-(32, 24)
  7.  
  8. 'The tunnel - alternating tall and square boxes
  9. FOR x = -15 TO 16
  10.    IF x MOD 2 = 0 THEN
  11.       LINE (x - .5, -2)-(x + .5, 2), 15, B
  12.    ELSE
  13.       LINE (x - .5, -.5)-(x + .5, .5), 15, B
  14.    END IF
  15. NEXT x
  16.  
  17. '  some constants - they stay fixed but follow the
  18. '  syntax of the changing variables
  19.  
  20. cameray = .2   ' camera y-offset
  21. lookaty = 0    ' look at y-offset
  22. rockety = 0    ' rocket y-offset
  23.  
  24. ocy = cameray  ' old camera y-offset
  25. oly = lookaty  ' old look at y-offest
  26. ory = rockety  ' old rocket y-offset
  27.  
  28. totalframes = 200
  29.  
  30. FOR frame = 0 TO totalframes
  31.    norm = frame / totalframes   ' frame normal - 0 to 1
  32.  
  33.    cameraz = -15 + 30 * norm   ' camera goes from -15 to 15
  34.    lookatz = -10 + 30 * norm   ' look at leads the camera by 5
  35.    rocketz = -30 + 60 * norm   ' rocket goes from -30 to 30
  36.  
  37.    'undraw
  38.    FOR section = -4 TO 4
  39.       LINE (orz - .4 + section, ory - .05)-(orz + .4 + section, ory + .05), 0, BF
  40.    NEXT section
  41.  
  42.    CIRCLE (ocz, ocy), .2, 0
  43.    CIRCLE (olz, oly), .2, 0
  44.  
  45.  
  46.    'draw
  47.    FOR section = -4 TO 4
  48.       LINE (rocketz - .4 + section, rockety - .05)-(rocketz + .4 + section, rockety + .05), 4, BF
  49.    NEXT section
  50.  
  51.    CIRCLE (cameraz, cameray), .2, 4
  52.    CIRCLE (lookatz, lookaty), .2, 2
  53.  
  54.    'save
  55.    orz = rocketz
  56.    ocz = cameraz
  57.    olz = lookatz
  58.  
  59.    ' a pause loop to slow it down for viewing, use as needed
  60.    FOR w = 1 TO 1000: NEXT w
  61. NEXT frame
  62.  
  63.